import { IsString, IsOptional, IsArray, IsObject, IsBoolean } from 'class-validator';

export class UpdateArtworkDto {
    @IsOptional()
    @IsString({ message: '作品标题必须是字符串' })
    title?: string;

    @IsOptional()
    @IsString({ message: '作品描述必须是字符串' })
    description?: string;

    @IsOptional()
    @IsString({ message: '作品图片必须是字符串' })
    image_url?: string;

    @IsOptional()
    @IsString({ message: '缩略图必须是字符串' })
    thumbnail_url?: string;

    @IsOptional()
    @IsArray({ message: '标签必须是数组' })
    @IsString({ each: true, message: '标签必须是字符串数组' })
    tags?: string[];

    @IsOptional()
    @IsObject({ message: '生成参数必须是对象' })
    generation_params?: Record<string, any>;

    @IsOptional()
    @IsBoolean({ message: '是否公开必须是布尔值' })
    is_published?: boolean;
} 